<!DOCTYPE html>

<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">

<title>class ActiveModel::Errors - Rails Framework Documentation</title>

<link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">

<script type="text/javascript">
  var rdoc_rel_prefix = "../";
</script>

<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>


<body id="top" class="class">
<nav id="metadata">
  <nav id="home-section" class="section">
  <h3 class="section-header">
    <a href="../index.html">Home</a>
    <a href="../table_of_contents.html#classes">Classes</a>
    <a href="../table_of_contents.html#methods">Methods</a>
  </h3>
</nav>


  <nav id="search-section" class="section project-section" class="initially-hidden">
  <form action="#" method="get" accept-charset="utf-8">
    <h3 class="section-header">
      <input type="text" name="search" placeholder="Search" id="search-field"
             title="Type to search, Up and Down to navigate, Enter to load">
    </h3>
  </form>

  <ul id="search-results" class="initially-hidden"></ul>
</nav>


  <div id="file-metadata">
    <nav id="file-list-section" class="section">
  <h3 class="section-header">Defined In</h3>
  <ul>
    <li>/usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb
  </ul>
</nav>

    
  </div>

  <div id="class-metadata">
    
    <nav id="parent-class-section" class="section">
  <h3 class="section-header">Parent</h3>
  
  <p class="link"><a href="../Object.html">Object</a>
  
</nav>

    <!-- Included Modules -->
<nav id="includes-section" class="section">
  <h3 class="section-header">Included Modules</h3>

  <ul class="link-list">
  
  
    <li><a class="include" href="../Enumerable.html">Enumerable</a>
  
  
  </ul>
</nav>

    <!-- Method Quickref -->
<nav id="method-list-section" class="section">
  <h3 class="section-header">Methods</h3>

  <ul class="link-list">
    
    <li><a href="#method-c-new">::new</a>
    
    <li><a href="#method-i-5B-5D">#[]</a>
    
    <li><a href="#method-i-5B-5D-3D">#[]=</a>
    
    <li><a href="#method-i-add">#add</a>
    
    <li><a href="#method-i-add_on_blank">#add_on_blank</a>
    
    <li><a href="#method-i-add_on_empty">#add_on_empty</a>
    
    <li><a href="#method-i-added-3F">#added?</a>
    
    <li><a href="#method-i-as_json">#as_json</a>
    
    <li><a href="#method-i-blank-3F">#blank?</a>
    
    <li><a href="#method-i-clear">#clear</a>
    
    <li><a href="#method-i-count">#count</a>
    
    <li><a href="#method-i-delete">#delete</a>
    
    <li><a href="#method-i-each">#each</a>
    
    <li><a href="#method-i-empty-3F">#empty?</a>
    
    <li><a href="#method-i-full_message">#full_message</a>
    
    <li><a href="#method-i-full_messages">#full_messages</a>
    
    <li><a href="#method-i-generate_message">#generate_message</a>
    
    <li><a href="#method-i-get">#get</a>
    
    <li><a href="#method-i-has_key-3F">#has_key?</a>
    
    <li><a href="#method-i-include-3F">#include?</a>
    
    <li><a href="#method-i-initialize_dup">#initialize_dup</a>
    
    <li><a href="#method-i-keys">#keys</a>
    
    <li><a href="#method-i-set">#set</a>
    
    <li><a href="#method-i-size">#size</a>
    
    <li><a href="#method-i-to_a">#to_a</a>
    
    <li><a href="#method-i-to_hash">#to_hash</a>
    
    <li><a href="#method-i-to_xml">#to_xml</a>
    
    <li><a href="#method-i-values">#values</a>
    
  </ul>
</nav>

  </div>

  <div id="project-metadata">
    <nav id="fileindex-section" class="section project-section">
  <h3 class="section-header">Pages</h3>

  <ul>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionmailer-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/actionpack-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/MIT-LICENSE.html">MIT-LICENSE</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activemodel-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activerecord-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activeresource-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/activesupport-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="..//usr/local/lib/ruby/gems/1_9_1/gems/railties-3_2_7/README_rdoc.html">README</a>
  
    <li class="file"><a href="../README_rdoc.html">README</a>
  
  </ul>
</nav>

    <nav id="classindex-section" class="section project-section">
  <h3 class="section-header">Class and Module Index</h3>

  <ul class="link-list">
  
    <li><a href="../ActiveRecord.html">ActiveRecord</a>
  
    <li><a href="../ActiveRecord/ActiveRecordError.html">ActiveRecord::ActiveRecordError</a>
  
    <li><a href="../ActiveRecord/AdapterNotFound.html">ActiveRecord::AdapterNotFound</a>
  
    <li><a href="../ActiveRecord/AdapterNotSpecified.html">ActiveRecord::AdapterNotSpecified</a>
  
    <li><a href="../ActiveRecord/Aggregations.html">ActiveRecord::Aggregations</a>
  
    <li><a href="../ActiveRecord/Aggregations/ClassMethods.html">ActiveRecord::Aggregations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AssociationTypeMismatch.html">ActiveRecord::AssociationTypeMismatch</a>
  
    <li><a href="../ActiveRecord/Associations.html">ActiveRecord::Associations</a>
  
    <li><a href="../ActiveRecord/Associations/ClassMethods.html">ActiveRecord::Associations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeAssignment.html">ActiveRecord::AttributeAssignment</a>
  
    <li><a href="../ActiveRecord/AttributeAssignment/ClassMethods.html">ActiveRecord::AttributeAssignment::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeAssignmentError.html">ActiveRecord::AttributeAssignmentError</a>
  
    <li><a href="../ActiveRecord/AttributeMethods.html">ActiveRecord::AttributeMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/BeforeTypeCast.html">ActiveRecord::AttributeMethods::BeforeTypeCast</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/ClassMethods.html">ActiveRecord::AttributeMethods::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/DeprecatedUnderscoreRead/ClassMethods.html">ActiveRecord::AttributeMethods::DeprecatedUnderscoreRead::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Dirty.html">ActiveRecord::AttributeMethods::Dirty</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/PrimaryKey.html">ActiveRecord::AttributeMethods::PrimaryKey</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/PrimaryKey/ClassMethods.html">ActiveRecord::AttributeMethods::PrimaryKey::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Query.html">ActiveRecord::AttributeMethods::Query</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Read.html">ActiveRecord::AttributeMethods::Read</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Read/ClassMethods.html">ActiveRecord::AttributeMethods::Read::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization.html">ActiveRecord::AttributeMethods::Serialization</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization/Attribute.html">ActiveRecord::AttributeMethods::Serialization::Attribute</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Serialization/ClassMethods.html">ActiveRecord::AttributeMethods::Serialization::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/TimeZoneConversion.html">ActiveRecord::AttributeMethods::TimeZoneConversion</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/TimeZoneConversion/ClassMethods.html">ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Write.html">ActiveRecord::AttributeMethods::Write</a>
  
    <li><a href="../ActiveRecord/AttributeMethods/Write/ClassMethods.html">ActiveRecord::AttributeMethods::Write::ClassMethods</a>
  
    <li><a href="../ActiveRecord/AutosaveAssociation.html">ActiveRecord::AutosaveAssociation</a>
  
    <li><a href="../ActiveRecord/AutosaveAssociation/ClassMethods.html">ActiveRecord::AutosaveAssociation::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Base.html">ActiveRecord::Base</a>
  
    <li><a href="../ActiveRecord/Batches.html">ActiveRecord::Batches</a>
  
    <li><a href="../ActiveRecord/Calculations.html">ActiveRecord::Calculations</a>
  
    <li><a href="../ActiveRecord/Callbacks.html">ActiveRecord::Callbacks</a>
  
    <li><a href="../ActiveRecord/ConfigurationError.html">ActiveRecord::ConfigurationError</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/AbstractAdapter.html">ActiveRecord::ConnectionAdapters::AbstractAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/AbstractMysqlAdapter.html">ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionHandler.html">ActiveRecord::ConnectionAdapters::ConnectionHandler</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionManagement.html">ActiveRecord::ConnectionAdapters::ConnectionManagement</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/ConnectionPool.html">ActiveRecord::ConnectionAdapters::ConnectionPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/DatabaseLimits.html">ActiveRecord::ConnectionAdapters::DatabaseLimits</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/DatabaseStatements.html">ActiveRecord::ConnectionAdapters::DatabaseStatements</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Mysql2Adapter.html">ActiveRecord::ConnectionAdapters::Mysql2Adapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/MysqlAdapter.html">ActiveRecord::ConnectionAdapters::MysqlAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/MysqlAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::MysqlAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/TableDefinition.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::TableDefinition</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLAdapter/Utils.html">ActiveRecord::ConnectionAdapters::PostgreSQLAdapter::Utils</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/PostgreSQLColumn.html">ActiveRecord::ConnectionAdapters::PostgreSQLColumn</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/QueryCache.html">ActiveRecord::ConnectionAdapters::QueryCache</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Quoting.html">ActiveRecord::ConnectionAdapters::Quoting</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/ExplainPrettyPrinter.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::ExplainPrettyPrinter</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/StatementPool.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SQLiteAdapter/Version.html">ActiveRecord::ConnectionAdapters::SQLiteAdapter::Version</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SchemaCache.html">ActiveRecord::ConnectionAdapters::SchemaCache</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/SchemaStatements.html">ActiveRecord::ConnectionAdapters::SchemaStatements</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/StatementPool.html">ActiveRecord::ConnectionAdapters::StatementPool</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/Table.html">ActiveRecord::ConnectionAdapters::Table</a>
  
    <li><a href="../ActiveRecord/ConnectionAdapters/TableDefinition.html">ActiveRecord::ConnectionAdapters::TableDefinition</a>
  
    <li><a href="../ActiveRecord/ConnectionNotEstablished.html">ActiveRecord::ConnectionNotEstablished</a>
  
    <li><a href="../ActiveRecord/ConnectionTimeoutError.html">ActiveRecord::ConnectionTimeoutError</a>
  
    <li><a href="../ActiveRecord/CounterCache.html">ActiveRecord::CounterCache</a>
  
    <li><a href="../ActiveRecord/DangerousAttributeError.html">ActiveRecord::DangerousAttributeError</a>
  
    <li><a href="../ActiveRecord/Delegation.html">ActiveRecord::Delegation</a>
  
    <li><a href="../ActiveRecord/DynamicFinderMatch.html">ActiveRecord::DynamicFinderMatch</a>
  
    <li><a href="../ActiveRecord/DynamicMatchers.html">ActiveRecord::DynamicMatchers</a>
  
    <li><a href="../ActiveRecord/DynamicScopeMatch.html">ActiveRecord::DynamicScopeMatch</a>
  
    <li><a href="../ActiveRecord/Explain.html">ActiveRecord::Explain</a>
  
    <li><a href="../ActiveRecord/FinderMethods.html">ActiveRecord::FinderMethods</a>
  
    <li><a href="../ActiveRecord/Fixtures.html">ActiveRecord::Fixtures</a>
  
    <li><a href="../ActiveRecord/Fixtures/File.html">ActiveRecord::Fixtures::File</a>
  
    <li><a href="../ActiveRecord/IdentityMap.html">ActiveRecord::IdentityMap</a>
  
    <li><a href="../ActiveRecord/IdentityMap/Middleware.html">ActiveRecord::IdentityMap::Middleware</a>
  
    <li><a href="../ActiveRecord/Inheritance.html">ActiveRecord::Inheritance</a>
  
    <li><a href="../ActiveRecord/Inheritance/ClassMethods.html">ActiveRecord::Inheritance::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Integration.html">ActiveRecord::Integration</a>
  
    <li><a href="../ActiveRecord/InvalidForeignKey.html">ActiveRecord::InvalidForeignKey</a>
  
    <li><a href="../ActiveRecord/IrreversibleMigration.html">ActiveRecord::IrreversibleMigration</a>
  
    <li><a href="../ActiveRecord/Locking.html">ActiveRecord::Locking</a>
  
    <li><a href="../ActiveRecord/Locking/Optimistic.html">ActiveRecord::Locking::Optimistic</a>
  
    <li><a href="../ActiveRecord/Locking/Optimistic/ClassMethods.html">ActiveRecord::Locking::Optimistic::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Locking/Pessimistic.html">ActiveRecord::Locking::Pessimistic</a>
  
    <li><a href="../ActiveRecord/LogSubscriber.html">ActiveRecord::LogSubscriber</a>
  
    <li><a href="../ActiveRecord/Migration.html">ActiveRecord::Migration</a>
  
    <li><a href="../ActiveRecord/Migration/CommandRecorder.html">ActiveRecord::Migration::CommandRecorder</a>
  
    <li><a href="../ActiveRecord/MigrationProxy.html">ActiveRecord::MigrationProxy</a>
  
    <li><a href="../ActiveRecord/ModelSchema.html">ActiveRecord::ModelSchema</a>
  
    <li><a href="../ActiveRecord/ModelSchema/ClassMethods.html">ActiveRecord::ModelSchema::ClassMethods</a>
  
    <li><a href="../ActiveRecord/MultiparameterAssignmentErrors.html">ActiveRecord::MultiparameterAssignmentErrors</a>
  
    <li><a href="../ActiveRecord/NestedAttributes.html">ActiveRecord::NestedAttributes</a>
  
    <li><a href="../ActiveRecord/NestedAttributes/ClassMethods.html">ActiveRecord::NestedAttributes::ClassMethods</a>
  
    <li><a href="../ActiveRecord/NestedAttributes/TooManyRecords.html">ActiveRecord::NestedAttributes::TooManyRecords</a>
  
    <li><a href="../ActiveRecord/Observer.html">ActiveRecord::Observer</a>
  
    <li><a href="../ActiveRecord/Persistence.html">ActiveRecord::Persistence</a>
  
    <li><a href="../ActiveRecord/Persistence/ClassMethods.html">ActiveRecord::Persistence::ClassMethods</a>
  
    <li><a href="../ActiveRecord/PreparedStatementInvalid.html">ActiveRecord::PreparedStatementInvalid</a>
  
    <li><a href="../ActiveRecord/QueryCache.html">ActiveRecord::QueryCache</a>
  
    <li><a href="../ActiveRecord/QueryCache/ClassMethods.html">ActiveRecord::QueryCache::ClassMethods</a>
  
    <li><a href="../ActiveRecord/QueryMethods.html">ActiveRecord::QueryMethods</a>
  
    <li><a href="../ActiveRecord/Querying.html">ActiveRecord::Querying</a>
  
    <li><a href="../ActiveRecord/Railtie.html">ActiveRecord::Railtie</a>
  
    <li><a href="../ActiveRecord/Railties.html">ActiveRecord::Railties</a>
  
    <li><a href="../ActiveRecord/Railties/ControllerRuntime.html">ActiveRecord::Railties::ControllerRuntime</a>
  
    <li><a href="../ActiveRecord/Railties/ControllerRuntime/ClassMethods.html">ActiveRecord::Railties::ControllerRuntime::ClassMethods</a>
  
    <li><a href="../ActiveRecord/ReadOnlyRecord.html">ActiveRecord::ReadOnlyRecord</a>
  
    <li><a href="../ActiveRecord/ReadonlyAttributes.html">ActiveRecord::ReadonlyAttributes</a>
  
    <li><a href="../ActiveRecord/ReadonlyAttributes/ClassMethods.html">ActiveRecord::ReadonlyAttributes::ClassMethods</a>
  
    <li><a href="../ActiveRecord/RecordInvalid.html">ActiveRecord::RecordInvalid</a>
  
    <li><a href="../ActiveRecord/RecordNotFound.html">ActiveRecord::RecordNotFound</a>
  
    <li><a href="../ActiveRecord/RecordNotSaved.html">ActiveRecord::RecordNotSaved</a>
  
    <li><a href="../ActiveRecord/RecordNotUnique.html">ActiveRecord::RecordNotUnique</a>
  
    <li><a href="../ActiveRecord/Reflection.html">ActiveRecord::Reflection</a>
  
    <li><a href="../ActiveRecord/Reflection/ClassMethods.html">ActiveRecord::Reflection::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Reflection/MacroReflection.html">ActiveRecord::Reflection::MacroReflection</a>
  
    <li><a href="../ActiveRecord/Relation.html">ActiveRecord::Relation</a>
  
    <li><a href="../ActiveRecord/Result.html">ActiveRecord::Result</a>
  
    <li><a href="../ActiveRecord/Rollback.html">ActiveRecord::Rollback</a>
  
    <li><a href="../ActiveRecord/Sanitization.html">ActiveRecord::Sanitization</a>
  
    <li><a href="../ActiveRecord/Sanitization/ClassMethods.html">ActiveRecord::Sanitization::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Schema.html">ActiveRecord::Schema</a>
  
    <li><a href="../ActiveRecord/Scoping.html">ActiveRecord::Scoping</a>
  
    <li><a href="../ActiveRecord/Scoping/ClassMethods.html">ActiveRecord::Scoping::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Scoping/Default.html">ActiveRecord::Scoping::Default</a>
  
    <li><a href="../ActiveRecord/Scoping/Default/ClassMethods.html">ActiveRecord::Scoping::Default::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Scoping/Named.html">ActiveRecord::Scoping::Named</a>
  
    <li><a href="../ActiveRecord/Scoping/Named/ClassMethods.html">ActiveRecord::Scoping::Named::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Serialization.html">ActiveRecord::Serialization</a>
  
    <li><a href="../ActiveRecord/SerializationTypeMismatch.html">ActiveRecord::SerializationTypeMismatch</a>
  
    <li><a href="../ActiveRecord/SessionStore.html">ActiveRecord::SessionStore</a>
  
    <li><a href="../ActiveRecord/SessionStore/Session.html">ActiveRecord::SessionStore::Session</a>
  
    <li><a href="../ActiveRecord/SessionStore/SqlBypass.html">ActiveRecord::SessionStore::SqlBypass</a>
  
    <li><a href="../ActiveRecord/SpawnMethods.html">ActiveRecord::SpawnMethods</a>
  
    <li><a href="../ActiveRecord/StaleObjectError.html">ActiveRecord::StaleObjectError</a>
  
    <li><a href="../ActiveRecord/StatementInvalid.html">ActiveRecord::StatementInvalid</a>
  
    <li><a href="../ActiveRecord/Store.html">ActiveRecord::Store</a>
  
    <li><a href="../ActiveRecord/Store/ClassMethods.html">ActiveRecord::Store::ClassMethods</a>
  
    <li><a href="../ActiveRecord/TestFixtures.html">ActiveRecord::TestFixtures</a>
  
    <li><a href="../ActiveRecord/TestFixtures/ClassMethods.html">ActiveRecord::TestFixtures::ClassMethods</a>
  
    <li><a href="../ActiveRecord/ThrowResult.html">ActiveRecord::ThrowResult</a>
  
    <li><a href="../ActiveRecord/Timestamp.html">ActiveRecord::Timestamp</a>
  
    <li><a href="../ActiveRecord/Transactions.html">ActiveRecord::Transactions</a>
  
    <li><a href="../ActiveRecord/Transactions/ClassMethods.html">ActiveRecord::Transactions::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Translation.html">ActiveRecord::Translation</a>
  
    <li><a href="../ActiveRecord/UnknownAttributeError.html">ActiveRecord::UnknownAttributeError</a>
  
    <li><a href="../ActiveRecord/UnknownPrimaryKey.html">ActiveRecord::UnknownPrimaryKey</a>
  
    <li><a href="../ActiveRecord/Validations.html">ActiveRecord::Validations</a>
  
    <li><a href="../ActiveRecord/Validations/AssociatedValidator.html">ActiveRecord::Validations::AssociatedValidator</a>
  
    <li><a href="../ActiveRecord/Validations/ClassMethods.html">ActiveRecord::Validations::ClassMethods</a>
  
    <li><a href="../ActiveRecord/Validations/UniquenessValidator.html">ActiveRecord::Validations::UniquenessValidator</a>
  
    <li><a href="../ActiveRecord/WrappedDatabaseException.html">ActiveRecord::WrappedDatabaseException</a>
  
    <li><a href="../ActiveSupport.html">ActiveSupport</a>
  
    <li><a href="../ActiveSupport/Autoload.html">ActiveSupport::Autoload</a>
  
    <li><a href="../ActiveSupport/BacktraceCleaner.html">ActiveSupport::BacktraceCleaner</a>
  
    <li><a href="../ActiveSupport/Base64.html">ActiveSupport::Base64</a>
  
    <li><a href="../ActiveSupport/BasicObject.html">ActiveSupport::BasicObject</a>
  
    <li><a href="../ActiveSupport/Benchmarkable.html">ActiveSupport::Benchmarkable</a>
  
    <li><a href="../ActiveSupport/BufferedLogger.html">ActiveSupport::BufferedLogger</a>
  
    <li><a href="../ActiveSupport/BufferedLogger/Severity.html">ActiveSupport::BufferedLogger::Severity</a>
  
    <li><a href="../ActiveSupport/Cache.html">ActiveSupport::Cache</a>
  
    <li><a href="../ActiveSupport/Cache/Entry.html">ActiveSupport::Cache::Entry</a>
  
    <li><a href="../ActiveSupport/Cache/FileStore.html">ActiveSupport::Cache::FileStore</a>
  
    <li><a href="../ActiveSupport/Cache/MemCacheStore.html">ActiveSupport::Cache::MemCacheStore</a>
  
    <li><a href="../ActiveSupport/Cache/MemoryStore.html">ActiveSupport::Cache::MemoryStore</a>
  
    <li><a href="../ActiveSupport/Cache/NullStore.html">ActiveSupport::Cache::NullStore</a>
  
    <li><a href="../ActiveSupport/Cache/Store.html">ActiveSupport::Cache::Store</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy.html">ActiveSupport::Cache::Strategy</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy/LocalCache.html">ActiveSupport::Cache::Strategy::LocalCache</a>
  
    <li><a href="../ActiveSupport/Cache/Strategy/LocalCache/LocalStore.html">ActiveSupport::Cache::Strategy::LocalCache::LocalStore</a>
  
    <li><a href="../ActiveSupport/Callbacks.html">ActiveSupport::Callbacks</a>
  
    <li><a href="../ActiveSupport/Callbacks/ClassMethods.html">ActiveSupport::Callbacks::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Concern.html">ActiveSupport::Concern</a>
  
    <li><a href="../ActiveSupport/Configurable.html">ActiveSupport::Configurable</a>
  
    <li><a href="../ActiveSupport/Configurable/ClassMethods.html">ActiveSupport::Configurable::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Configurable/Configuration.html">ActiveSupport::Configurable::Configuration</a>
  
    <li><a href="../ActiveSupport/Dependencies.html">ActiveSupport::Dependencies</a>
  
    <li><a href="../ActiveSupport/Dependencies/ClassCache.html">ActiveSupport::Dependencies::ClassCache</a>
  
    <li><a href="../ActiveSupport/Dependencies/WatchStack.html">ActiveSupport::Dependencies::WatchStack</a>
  
    <li><a href="../ActiveSupport/Deprecation.html">ActiveSupport::Deprecation</a>
  
    <li><a href="../ActiveSupport/DescendantsTracker.html">ActiveSupport::DescendantsTracker</a>
  
    <li><a href="../ActiveSupport/Duration.html">ActiveSupport::Duration</a>
  
    <li><a href="../ActiveSupport/FileUpdateChecker.html">ActiveSupport::FileUpdateChecker</a>
  
    <li><a href="../ActiveSupport/FileWatcher.html">ActiveSupport::FileWatcher</a>
  
    <li><a href="../ActiveSupport/FileWatcher/Backend.html">ActiveSupport::FileWatcher::Backend</a>
  
    <li><a href="../ActiveSupport/Gzip.html">ActiveSupport::Gzip</a>
  
    <li><a href="../ActiveSupport/Gzip/Stream.html">ActiveSupport::Gzip::Stream</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">ActiveSupport::HashWithIndifferentAccess</a>
  
    <li><a href="../ActiveSupport/Inflector.html">ActiveSupport::Inflector</a>
  
    <li><a href="../ActiveSupport/Inflector/Inflections.html">ActiveSupport::Inflector::Inflections</a>
  
    <li><a href="../ActiveSupport/InheritableOptions.html">ActiveSupport::InheritableOptions</a>
  
    <li><a href="../ActiveSupport/JSON.html">ActiveSupport::JSON</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding.html">ActiveSupport::JSON::Encoding</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding/CircularReferenceError.html">ActiveSupport::JSON::Encoding::CircularReferenceError</a>
  
    <li><a href="../ActiveSupport/JSON/Encoding/Encoder.html">ActiveSupport::JSON::Encoding::Encoder</a>
  
    <li><a href="../ActiveSupport/JSON/Variable.html">ActiveSupport::JSON::Variable</a>
  
    <li><a href="../ActiveSupport/LogSubscriber.html">ActiveSupport::LogSubscriber</a>
  
    <li><a href="../ActiveSupport/LogSubscriber/TestHelper.html">ActiveSupport::LogSubscriber::TestHelper</a>
  
    <li><a href="../ActiveSupport/LogSubscriber/TestHelper/MockLogger.html">ActiveSupport::LogSubscriber::TestHelper::MockLogger</a>
  
    <li><a href="../ActiveSupport/Memoizable.html">ActiveSupport::Memoizable</a>
  
    <li><a href="../ActiveSupport/Memoizable/InstanceMethods.html">ActiveSupport::Memoizable::InstanceMethods</a>
  
    <li><a href="../ActiveSupport/MessageEncryptor.html">ActiveSupport::MessageEncryptor</a>
  
    <li><a href="../ActiveSupport/MessageEncryptor/InvalidMessage.html">ActiveSupport::MessageEncryptor::InvalidMessage</a>
  
    <li><a href="../ActiveSupport/MessageVerifier.html">ActiveSupport::MessageVerifier</a>
  
    <li><a href="../ActiveSupport/MessageVerifier/InvalidSignature.html">ActiveSupport::MessageVerifier::InvalidSignature</a>
  
    <li><a href="../ActiveSupport/Multibyte.html">ActiveSupport::Multibyte</a>
  
    <li><a href="../ActiveSupport/Multibyte/Chars.html">ActiveSupport::Multibyte::Chars</a>
  
    <li><a href="../ActiveSupport/Multibyte/EncodingError.html">ActiveSupport::Multibyte::EncodingError</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode.html">ActiveSupport::Multibyte::Unicode</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode/Codepoint.html">ActiveSupport::Multibyte::Unicode::Codepoint</a>
  
    <li><a href="../ActiveSupport/Multibyte/Unicode/UnicodeDatabase.html">ActiveSupport::Multibyte::Unicode::UnicodeDatabase</a>
  
    <li><a href="../ActiveSupport/Notifications.html">ActiveSupport::Notifications</a>
  
    <li><a href="../ActiveSupport/Notifications/Event.html">ActiveSupport::Notifications::Event</a>
  
    <li><a href="../ActiveSupport/Notifications/Fanout.html">ActiveSupport::Notifications::Fanout</a>
  
    <li><a href="../ActiveSupport/Notifications/Instrumenter.html">ActiveSupport::Notifications::Instrumenter</a>
  
    <li><a href="../ActiveSupport/OrderedHash.html">ActiveSupport::OrderedHash</a>
  
    <li><a href="../ActiveSupport/OrderedOptions.html">ActiveSupport::OrderedOptions</a>
  
    <li><a href="../ActiveSupport/Railtie.html">ActiveSupport::Railtie</a>
  
    <li><a href="../ActiveSupport/Rescuable.html">ActiveSupport::Rescuable</a>
  
    <li><a href="../ActiveSupport/Rescuable/ClassMethods.html">ActiveSupport::Rescuable::ClassMethods</a>
  
    <li><a href="../ActiveSupport/SafeBuffer.html">ActiveSupport::SafeBuffer</a>
  
    <li><a href="../ActiveSupport/SafeBuffer/SafeConcatError.html">ActiveSupport::SafeBuffer::SafeConcatError</a>
  
    <li><a href="../ActiveSupport/StringInquirer.html">ActiveSupport::StringInquirer</a>
  
    <li><a href="../ActiveSupport/TaggedLogging.html">ActiveSupport::TaggedLogging</a>
  
    <li><a href="../ActiveSupport/TestCase.html">ActiveSupport::TestCase</a>
  
    <li><a href="../ActiveSupport/Testing.html">ActiveSupport::Testing</a>
  
    <li><a href="../ActiveSupport/Testing/Assertions.html">ActiveSupport::Testing::Assertions</a>
  
    <li><a href="../ActiveSupport/Testing/Declarative.html">ActiveSupport::Testing::Declarative</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation.html">ActiveSupport::Testing::Isolation</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/Forking.html">ActiveSupport::Testing::Isolation::Forking</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/MiniTest.html">ActiveSupport::Testing::Isolation::MiniTest</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/Subprocess.html">ActiveSupport::Testing::Isolation::Subprocess</a>
  
    <li><a href="../ActiveSupport/Testing/Isolation/TestUnit.html">ActiveSupport::Testing::Isolation::TestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Pending.html">ActiveSupport::Testing::Pending</a>
  
    <li><a href="../ActiveSupport/Testing/Performance.html">ActiveSupport::Testing::Performance</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Benchmarker.html">ActiveSupport::Testing::Performance::Benchmarker</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/ForClassicTestUnit.html">ActiveSupport::Testing::Performance::ForClassicTestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/ForMiniTest.html">ActiveSupport::Testing::Performance::ForMiniTest</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics.html">ActiveSupport::Testing::Performance::Metrics</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Amount.html">ActiveSupport::Testing::Performance::Metrics::Amount</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Base.html">ActiveSupport::Testing::Performance::Metrics::Base</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/CpuTime.html">ActiveSupport::Testing::Performance::Metrics::CpuTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/DigitalInformationUnit.html">ActiveSupport::Testing::Performance::Metrics::DigitalInformationUnit</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/GcRuns.html">ActiveSupport::Testing::Performance::Metrics::GcRuns</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/GcTime.html">ActiveSupport::Testing::Performance::Metrics::GcTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Memory.html">ActiveSupport::Testing::Performance::Metrics::Memory</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Objects.html">ActiveSupport::Testing::Performance::Metrics::Objects</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/ProcessTime.html">ActiveSupport::Testing::Performance::Metrics::ProcessTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/Time.html">ActiveSupport::Testing::Performance::Metrics::Time</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/UserTime.html">ActiveSupport::Testing::Performance::Metrics::UserTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Metrics/WallTime.html">ActiveSupport::Testing::Performance::Metrics::WallTime</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Performer.html">ActiveSupport::Testing::Performance::Performer</a>
  
    <li><a href="../ActiveSupport/Testing/Performance/Profiler.html">ActiveSupport::Testing::Performance::Profiler</a>
  
    <li><a href="../ActiveSupport/Testing/ProxyTestResult.html">ActiveSupport::Testing::ProxyTestResult</a>
  
    <li><a href="../ActiveSupport/Testing/RemoteError.html">ActiveSupport::Testing::RemoteError</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown.html">ActiveSupport::Testing::SetupAndTeardown</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ClassMethods.html">ActiveSupport::Testing::SetupAndTeardown::ClassMethods</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ForClassicTestUnit.html">ActiveSupport::Testing::SetupAndTeardown::ForClassicTestUnit</a>
  
    <li><a href="../ActiveSupport/Testing/SetupAndTeardown/ForMiniTest.html">ActiveSupport::Testing::SetupAndTeardown::ForMiniTest</a>
  
    <li><a href="../ActiveSupport/TimeWithZone.html">ActiveSupport::TimeWithZone</a>
  
    <li><a href="../ActiveSupport/TimeZone.html">ActiveSupport::TimeZone</a>
  
    <li><a href="../ActiveSupport/XmlMini.html">ActiveSupport::XmlMini</a>
  
    <li><a href="../ActiveSupport/XmlMini_LibXMLSAX.html">ActiveSupport::XmlMini_LibXMLSAX</a>
  
    <li><a href="../ActiveSupport/XmlMini_LibXMLSAX/HashBuilder.html">ActiveSupport::XmlMini_LibXMLSAX::HashBuilder</a>
  
    <li><a href="../ActiveSupport/XmlMini_NokogiriSAX.html">ActiveSupport::XmlMini_NokogiriSAX</a>
  
    <li><a href="../ActiveSupport/XmlMini_NokogiriSAX/HashBuilder.html">ActiveSupport::XmlMini_NokogiriSAX::HashBuilder</a>
  
    <li><a href="../ActionController.html">ActionController</a>
  
    <li><a href="../ActionController/Base.html">ActionController::Base</a>
  
    <li><a href="../ActionController/Caching.html">ActionController::Caching</a>
  
    <li><a href="../ActionController/Caching/Actions.html">ActionController::Caching::Actions</a>
  
    <li><a href="../ActionController/Caching/Actions/ActionCachePath.html">ActionController::Caching::Actions::ActionCachePath</a>
  
    <li><a href="../ActionController/Caching/Actions/ClassMethods.html">ActionController::Caching::Actions::ClassMethods</a>
  
    <li><a href="../ActionController/Caching/ConfigMethods.html">ActionController::Caching::ConfigMethods</a>
  
    <li><a href="../ActionController/Caching/Fragments.html">ActionController::Caching::Fragments</a>
  
    <li><a href="../ActionController/Caching/Pages.html">ActionController::Caching::Pages</a>
  
    <li><a href="../ActionController/Caching/Pages/ClassMethods.html">ActionController::Caching::Pages::ClassMethods</a>
  
    <li><a href="../ActionController/Caching/Sweeping.html">ActionController::Caching::Sweeping</a>
  
    <li><a href="../ActionController/Compatibility.html">ActionController::Compatibility</a>
  
    <li><a href="../ActionController/ConditionalGet.html">ActionController::ConditionalGet</a>
  
    <li><a href="../ActionController/Cookies.html">ActionController::Cookies</a>
  
    <li><a href="../ActionController/DataStreaming.html">ActionController::DataStreaming</a>
  
    <li><a href="../ActionController/Flash.html">ActionController::Flash</a>
  
    <li><a href="../ActionController/ForceSSL.html">ActionController::ForceSSL</a>
  
    <li><a href="../ActionController/ForceSSL/ClassMethods.html">ActionController::ForceSSL::ClassMethods</a>
  
    <li><a href="../ActionController/Head.html">ActionController::Head</a>
  
    <li><a href="../ActionController/Helpers.html">ActionController::Helpers</a>
  
    <li><a href="../ActionController/Helpers/ClassMethods.html">ActionController::Helpers::ClassMethods</a>
  
    <li><a href="../ActionController/HideActions.html">ActionController::HideActions</a>
  
    <li><a href="../ActionController/HideActions/ClassMethods.html">ActionController::HideActions::ClassMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication.html">ActionController::HttpAuthentication</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic.html">ActionController::HttpAuthentication::Basic</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic/ControllerMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Basic/ControllerMethods/ClassMethods.html">ActionController::HttpAuthentication::Basic::ControllerMethods::ClassMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Digest.html">ActionController::HttpAuthentication::Digest</a>
  
    <li><a href="../ActionController/HttpAuthentication/Digest/ControllerMethods.html">ActionController::HttpAuthentication::Digest::ControllerMethods</a>
  
    <li><a href="../ActionController/HttpAuthentication/Token.html">ActionController::HttpAuthentication::Token</a>
  
    <li><a href="../ActionController/HttpAuthentication/Token/ControllerMethods.html">ActionController::HttpAuthentication::Token::ControllerMethods</a>
  
    <li><a href="../ActionController/ImplicitRender.html">ActionController::ImplicitRender</a>
  
    <li><a href="../ActionController/Instrumentation.html">ActionController::Instrumentation</a>
  
    <li><a href="../ActionController/Instrumentation/ClassMethods.html">ActionController::Instrumentation::ClassMethods</a>
  
    <li><a href="../ActionController/LogSubscriber.html">ActionController::LogSubscriber</a>
  
    <li><a href="../ActionController/Metal.html">ActionController::Metal</a>
  
    <li><a href="../ActionController/Middleware.html">ActionController::Middleware</a>
  
    <li><a href="../ActionController/Middleware/ActionMiddleware.html">ActionController::Middleware::ActionMiddleware</a>
  
    <li><a href="../ActionController/MimeResponds.html">ActionController::MimeResponds</a>
  
    <li><a href="../ActionController/MimeResponds/ClassMethods.html">ActionController::MimeResponds::ClassMethods</a>
  
    <li><a href="../ActionController/ParamsWrapper.html">ActionController::ParamsWrapper</a>
  
    <li><a href="../ActionController/ParamsWrapper/ClassMethods.html">ActionController::ParamsWrapper::ClassMethods</a>
  
    <li><a href="../ActionController/RackDelegation.html">ActionController::RackDelegation</a>
  
    <li><a href="../ActionController/Railtie.html">ActionController::Railtie</a>
  
    <li><a href="../ActionController/Railties.html">ActionController::Railties</a>
  
    <li><a href="../ActionController/Railties/Paths.html">ActionController::Railties::Paths</a>
  
    <li><a href="../ActionController/RecordIdentifier.html">ActionController::RecordIdentifier</a>
  
    <li><a href="../ActionController/Redirecting.html">ActionController::Redirecting</a>
  
    <li><a href="../ActionController/Renderers.html">ActionController::Renderers</a>
  
    <li><a href="../ActionController/Renderers/All.html">ActionController::Renderers::All</a>
  
    <li><a href="../ActionController/Renderers/ClassMethods.html">ActionController::Renderers::ClassMethods</a>
  
    <li><a href="../ActionController/Rendering.html">ActionController::Rendering</a>
  
    <li><a href="../ActionController/RequestForgeryProtection.html">ActionController::RequestForgeryProtection</a>
  
    <li><a href="../ActionController/RequestForgeryProtection/ClassMethods.html">ActionController::RequestForgeryProtection::ClassMethods</a>
  
    <li><a href="../ActionController/Rescue.html">ActionController::Rescue</a>
  
    <li><a href="../ActionController/Responder.html">ActionController::Responder</a>
  
    <li><a href="../ActionController/SessionManagement.html">ActionController::SessionManagement</a>
  
    <li><a href="../ActionController/SessionManagement/ClassMethods.html">ActionController::SessionManagement::ClassMethods</a>
  
    <li><a href="../ActionController/Streaming.html">ActionController::Streaming</a>
  
    <li><a href="../ActionController/TemplateAssertions.html">ActionController::TemplateAssertions</a>
  
    <li><a href="../ActionController/TestCase.html">ActionController::TestCase</a>
  
    <li><a href="../ActionController/TestCase/Behavior.html">ActionController::TestCase::Behavior</a>
  
    <li><a href="../ActionController/TestCase/Behavior/ClassMethods.html">ActionController::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="../ActionController/TestCase/RaiseActionExceptions.html">ActionController::TestCase::RaiseActionExceptions</a>
  
    <li><a href="../ActionController/TestResponse.html">ActionController::TestResponse</a>
  
    <li><a href="../ActionController/Testing.html">ActionController::Testing</a>
  
    <li><a href="../ActionController/Testing/ClassMethods.html">ActionController::Testing::ClassMethods</a>
  
    <li><a href="../ActionController/UrlFor.html">ActionController::UrlFor</a>
  
    <li><a href="../ActionView.html">ActionView</a>
  
    <li><a href="../ActionView/ActionView.html">ActionView::ActionView</a>
  
    <li><a href="../ActionView/ActionView/ActionView.html">ActionView::ActionView::ActionView</a>
  
    <li><a href="../ActionView/ActionView/ActionView/Base.html">ActionView::ActionView::ActionView::Base</a>
  
    <li><a href="../ActionView/Base.html">ActionView::Base</a>
  
    <li><a href="../ActionView/Context.html">ActionView::Context</a>
  
    <li><a href="../ActionView/FileSystemResolver.html">ActionView::FileSystemResolver</a>
  
    <li><a href="../ActionView/FixtureResolver.html">ActionView::FixtureResolver</a>
  
    <li><a href="../ActionView/Helpers.html">ActionView::Helpers</a>
  
    <li><a href="../ActionView/Helpers/ActiveModelHelper.html">ActionView::Helpers::ActiveModelHelper</a>
  
    <li><a href="../ActionView/Helpers/ActiveModelInstanceTag.html">ActionView::Helpers::ActiveModelInstanceTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper.html">ActionView::Helpers::AssetTagHelper</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/AssetIncludeTag.html">ActionView::Helpers::AssetTagHelper::AssetIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptIncludeTag.html">ActionView::Helpers::AssetTagHelper::JavascriptIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/JavascriptTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::JavascriptTagHelpers::ClassMethods</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetIncludeTag.html">ActionView::Helpers::AssetTagHelper::StylesheetIncludeTag</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers</a>
  
    <li><a href="../ActionView/Helpers/AssetTagHelper/StylesheetTagHelpers/ClassMethods.html">ActionView::Helpers::AssetTagHelper::StylesheetTagHelpers::ClassMethods</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper.html">ActionView::Helpers::AtomFeedHelper</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper/AtomBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomBuilder</a>
  
    <li><a href="../ActionView/Helpers/AtomFeedHelper/AtomFeedBuilder.html">ActionView::Helpers::AtomFeedHelper::AtomFeedBuilder</a>
  
    <li><a href="../ActionView/Helpers/CacheHelper.html">ActionView::Helpers::CacheHelper</a>
  
    <li><a href="../ActionView/Helpers/CaptureHelper.html">ActionView::Helpers::CaptureHelper</a>
  
    <li><a href="../ActionView/Helpers/CsrfHelper.html">ActionView::Helpers::CsrfHelper</a>
  
    <li><a href="../ActionView/Helpers/DateHelper.html">ActionView::Helpers::DateHelper</a>
  
    <li><a href="../ActionView/Helpers/DateHelperInstanceTag.html">ActionView::Helpers::DateHelperInstanceTag</a>
  
    <li><a href="../ActionView/Helpers/DebugHelper.html">ActionView::Helpers::DebugHelper</a>
  
    <li><a href="../ActionView/Helpers/FormBuilder.html">ActionView::Helpers::FormBuilder</a>
  
    <li><a href="../ActionView/Helpers/FormHelper.html">ActionView::Helpers::FormHelper</a>
  
    <li><a href="../ActionView/Helpers/FormOptionsHelper.html">ActionView::Helpers::FormOptionsHelper</a>
  
    <li><a href="../ActionView/Helpers/FormTagHelper.html">ActionView::Helpers::FormTagHelper</a>
  
    <li><a href="../ActionView/Helpers/InstanceTag.html">ActionView::Helpers::InstanceTag</a>
  
    <li><a href="../ActionView/Helpers/JavaScriptHelper.html">ActionView::Helpers::JavaScriptHelper</a>
  
    <li><a href="../ActionView/Helpers/NumberHelper.html">ActionView::Helpers::NumberHelper</a>
  
    <li><a href="../ActionView/Helpers/NumberHelper/InvalidNumberError.html">ActionView::Helpers::NumberHelper::InvalidNumberError</a>
  
    <li><a href="../ActionView/Helpers/OutputSafetyHelper.html">ActionView::Helpers::OutputSafetyHelper</a>
  
    <li><a href="../ActionView/Helpers/RecordTagHelper.html">ActionView::Helpers::RecordTagHelper</a>
  
    <li><a href="../ActionView/Helpers/RenderingHelper.html">ActionView::Helpers::RenderingHelper</a>
  
    <li><a href="../ActionView/Helpers/SanitizeHelper.html">ActionView::Helpers::SanitizeHelper</a>
  
    <li><a href="../ActionView/Helpers/TagHelper.html">ActionView::Helpers::TagHelper</a>
  
    <li><a href="../ActionView/Helpers/TextHelper.html">ActionView::Helpers::TextHelper</a>
  
    <li><a href="../ActionView/Helpers/TranslationHelper.html">ActionView::Helpers::TranslationHelper</a>
  
    <li><a href="../ActionView/Helpers/UrlHelper.html">ActionView::Helpers::UrlHelper</a>
  
    <li><a href="../ActionView/LogSubscriber.html">ActionView::LogSubscriber</a>
  
    <li><a href="../ActionView/LookupContext.html">ActionView::LookupContext</a>
  
    <li><a href="../ActionView/LookupContext/DetailsCache.html">ActionView::LookupContext::DetailsCache</a>
  
    <li><a href="../ActionView/LookupContext/ViewPaths.html">ActionView::LookupContext::ViewPaths</a>
  
    <li><a href="../ActionView/NullResolver.html">ActionView::NullResolver</a>
  
    <li><a href="../ActionView/PartialRenderer.html">ActionView::PartialRenderer</a>
  
    <li><a href="../ActionView/Railtie.html">ActionView::Railtie</a>
  
    <li><a href="../ActionView/Renderer.html">ActionView::Renderer</a>
  
    <li><a href="../ActionView/Resolver.html">ActionView::Resolver</a>
  
    <li><a href="../ActionView/Resolver/Path.html">ActionView::Resolver::Path</a>
  
    <li><a href="../ActionView/Template.html">ActionView::Template</a>
  
    <li><a href="../ActionView/Template/Handlers.html">ActionView::Template::Handlers</a>
  
    <li><a href="../ActionView/Template/Handlers/Builder.html">ActionView::Template::Handlers::Builder</a>
  
    <li><a href="../ActionView/Template/Handlers/ERB.html">ActionView::Template::Handlers::ERB</a>
  
    <li><a href="../ActionView/Template/Handlers/Erubis.html">ActionView::Template::Handlers::Erubis</a>
  
    <li><a href="../ActionView/TestCase.html">ActionView::TestCase</a>
  
    <li><a href="../ActionView/TestCase/Behavior.html">ActionView::TestCase::Behavior</a>
  
    <li><a href="../ActionView/TestCase/Behavior/ClassMethods.html">ActionView::TestCase::Behavior::ClassMethods</a>
  
    <li><a href="../ActionView/TestCase/Behavior/Locals.html">ActionView::TestCase::Behavior::Locals</a>
  
    <li><a href="../ActionView/TestCase/TestController.html">ActionView::TestCase::TestController</a>
  
    <li><a href="../ActiveModel.html">ActiveModel</a>
  
    <li><a href="../ActiveModel/AttributeMethods.html">ActiveModel::AttributeMethods</a>
  
    <li><a href="../ActiveModel/AttributeMethods/ClassMethods.html">ActiveModel::AttributeMethods::ClassMethods</a>
  
    <li><a href="../ActiveModel/AttributeMethods/ClassMethods/AttributeMethodMatcher.html">ActiveModel::AttributeMethods::ClassMethods::AttributeMethodMatcher</a>
  
    <li><a href="../ActiveModel/BlockValidator.html">ActiveModel::BlockValidator</a>
  
    <li><a href="../ActiveModel/Callbacks.html">ActiveModel::Callbacks</a>
  
    <li><a href="../ActiveModel/Conversion.html">ActiveModel::Conversion</a>
  
    <li><a href="../ActiveModel/Dirty.html">ActiveModel::Dirty</a>
  
    <li><a href="../ActiveModel/EachValidator.html">ActiveModel::EachValidator</a>
  
    <li><a href="../ActiveModel/Errors.html">ActiveModel::Errors</a>
  
    <li><a href="../ActiveModel/Lint.html">ActiveModel::Lint</a>
  
    <li><a href="../ActiveModel/Lint/Tests.html">ActiveModel::Lint::Tests</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity.html">ActiveModel::MassAssignmentSecurity</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/BlackList.html">ActiveModel::MassAssignmentSecurity::BlackList</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/ClassMethods.html">ActiveModel::MassAssignmentSecurity::ClassMethods</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/Error.html">ActiveModel::MassAssignmentSecurity::Error</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/LoggerSanitizer.html">ActiveModel::MassAssignmentSecurity::LoggerSanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/PermissionSet.html">ActiveModel::MassAssignmentSecurity::PermissionSet</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/Sanitizer.html">ActiveModel::MassAssignmentSecurity::Sanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/StrictSanitizer.html">ActiveModel::MassAssignmentSecurity::StrictSanitizer</a>
  
    <li><a href="../ActiveModel/MassAssignmentSecurity/WhiteList.html">ActiveModel::MassAssignmentSecurity::WhiteList</a>
  
    <li><a href="../ActiveModel/MissingAttributeError.html">ActiveModel::MissingAttributeError</a>
  
    <li><a href="../ActiveModel/Name.html">ActiveModel::Name</a>
  
    <li><a href="../ActiveModel/Naming.html">ActiveModel::Naming</a>
  
    <li><a href="../ActiveModel/Observer.html">ActiveModel::Observer</a>
  
    <li><a href="../ActiveModel/ObserverArray.html">ActiveModel::ObserverArray</a>
  
    <li><a href="../ActiveModel/Observing.html">ActiveModel::Observing</a>
  
    <li><a href="../ActiveModel/Observing/ClassMethods.html">ActiveModel::Observing::ClassMethods</a>
  
    <li><a href="../ActiveModel/SecurePassword.html">ActiveModel::SecurePassword</a>
  
    <li><a href="../ActiveModel/SecurePassword/ClassMethods.html">ActiveModel::SecurePassword::ClassMethods</a>
  
    <li><a href="../ActiveModel/SecurePassword/InstanceMethodsOnActivation.html">ActiveModel::SecurePassword::InstanceMethodsOnActivation</a>
  
    <li><a href="../ActiveModel/Serialization.html">ActiveModel::Serialization</a>
  
    <li><a href="../ActiveModel/Serializers.html">ActiveModel::Serializers</a>
  
    <li><a href="../ActiveModel/Serializers/JSON.html">ActiveModel::Serializers::JSON</a>
  
    <li><a href="../ActiveModel/Serializers/Xml.html">ActiveModel::Serializers::Xml</a>
  
    <li><a href="../ActiveModel/StrictValidationFailed.html">ActiveModel::StrictValidationFailed</a>
  
    <li><a href="../ActiveModel/Translation.html">ActiveModel::Translation</a>
  
    <li><a href="../ActiveModel/Validations.html">ActiveModel::Validations</a>
  
    <li><a href="../ActiveModel/Validations/AcceptanceValidator.html">ActiveModel::Validations::AcceptanceValidator</a>
  
    <li><a href="../ActiveModel/Validations/Callbacks.html">ActiveModel::Validations::Callbacks</a>
  
    <li><a href="../ActiveModel/Validations/Callbacks/ClassMethods.html">ActiveModel::Validations::Callbacks::ClassMethods</a>
  
    <li><a href="../ActiveModel/Validations/ClassMethods.html">ActiveModel::Validations::ClassMethods</a>
  
    <li><a href="../ActiveModel/Validations/ConfirmationValidator.html">ActiveModel::Validations::ConfirmationValidator</a>
  
    <li><a href="../ActiveModel/Validations/ExclusionValidator.html">ActiveModel::Validations::ExclusionValidator</a>
  
    <li><a href="../ActiveModel/Validations/FormatValidator.html">ActiveModel::Validations::FormatValidator</a>
  
    <li><a href="../ActiveModel/Validations/HelperMethods.html">ActiveModel::Validations::HelperMethods</a>
  
    <li><a href="../ActiveModel/Validations/InclusionValidator.html">ActiveModel::Validations::InclusionValidator</a>
  
    <li><a href="../ActiveModel/Validations/LengthValidator.html">ActiveModel::Validations::LengthValidator</a>
  
    <li><a href="../ActiveModel/Validations/NumericalityValidator.html">ActiveModel::Validations::NumericalityValidator</a>
  
    <li><a href="../ActiveModel/Validations/PresenceValidator.html">ActiveModel::Validations::PresenceValidator</a>
  
    <li><a href="../ActiveModel/Validations/WithValidator.html">ActiveModel::Validations::WithValidator</a>
  
    <li><a href="../ActiveModel/Validator.html">ActiveModel::Validator</a>
  
    <li><a href="../ActiveResource.html">ActiveResource</a>
  
    <li><a href="../ActiveResource/Base.html">ActiveResource::Base</a>
  
    <li><a href="../ActiveResource/Connection.html">ActiveResource::Connection</a>
  
    <li><a href="../ActiveResource/CustomMethods.html">ActiveResource::CustomMethods</a>
  
    <li><a href="../ActiveResource/CustomMethods/ClassMethods.html">ActiveResource::CustomMethods::ClassMethods</a>
  
    <li><a href="../ActiveResource/Errors.html">ActiveResource::Errors</a>
  
    <li><a href="../ActiveResource/Formats.html">ActiveResource::Formats</a>
  
    <li><a href="../ActiveResource/Formats/JsonFormat.html">ActiveResource::Formats::JsonFormat</a>
  
    <li><a href="../ActiveResource/Formats/XmlFormat.html">ActiveResource::Formats::XmlFormat</a>
  
    <li><a href="../ActiveResource/HttpMock.html">ActiveResource::HttpMock</a>
  
    <li><a href="../ActiveResource/InvalidRequestError.html">ActiveResource::InvalidRequestError</a>
  
    <li><a href="../ActiveResource/LogSubscriber.html">ActiveResource::LogSubscriber</a>
  
    <li><a href="../ActiveResource/Observing.html">ActiveResource::Observing</a>
  
    <li><a href="../ActiveResource/Railtie.html">ActiveResource::Railtie</a>
  
    <li><a href="../ActiveResource/Request.html">ActiveResource::Request</a>
  
    <li><a href="../ActiveResource/Response.html">ActiveResource::Response</a>
  
    <li><a href="../ActiveResource/SSLError.html">ActiveResource::SSLError</a>
  
    <li><a href="../ActiveResource/TimeoutError.html">ActiveResource::TimeoutError</a>
  
    <li><a href="../ActiveResource/Validations.html">ActiveResource::Validations</a>
  
    <li><a href="../HTML.html">HTML</a>
  
    <li><a href="../HTML/FullSanitizer.html">HTML::FullSanitizer</a>
  
    <li><a href="../HTML/LinkSanitizer.html">HTML::LinkSanitizer</a>
  
    <li><a href="../HTML/Sanitizer.html">HTML::Sanitizer</a>
  
    <li><a href="../HTML/Selector.html">HTML::Selector</a>
  
    <li><a href="../HTML/Tag.html">HTML::Tag</a>
  
    <li><a href="../HTML/WhiteListSanitizer.html">HTML::WhiteListSanitizer</a>
  
    <li><a href="../Mysql.html">Mysql</a>
  
    <li><a href="../Mysql/Result.html">Mysql::Result</a>
  
    <li><a href="../Mysql/Stmt.html">Mysql::Stmt</a>
  
    <li><a href="../Mysql/Time.html">Mysql::Time</a>
  
    <li><a href="../Test.html">Test</a>
  
    <li><a href="../Test/Unit.html">Test::Unit</a>
  
    <li><a href="../Test/Unit/Collector.html">Test::Unit::Collector</a>
  
    <li><a href="../Test/Unit/Collector/ObjectSpace.html">Test::Unit::Collector::ObjectSpace</a>
  
    <li><a href="../I18n.html">I18n</a>
  
    <li><a href="../I18n/ExceptionHandler.html">I18n::ExceptionHandler</a>
  
    <li><a href="../I18n/Railtie.html">I18n::Railtie</a>
  
    <li><a href="../Object.html">Object</a>
  
    <li><a href="../ActiveSupport/HashWithIndifferentAccess.html">Object::HashWithIndifferentAccess</a>
  
    <li><a href="../LoadError.html">Object::MissingSourceFile</a>
  
    <li><a href="../ActionMailer.html">ActionMailer</a>
  
    <li><a href="../ActionMailer/Base.html">ActionMailer::Base</a>
  
    <li><a href="../ArJdbcMySQL.html">ArJdbcMySQL</a>
  
    <li><a href="../ArJdbcMySQL/Error.html">ArJdbcMySQL::Error</a>
  
    <li><a href="../ERB.html">ERB</a>
  
    <li><a href="../ERB/Util.html">ERB::Util</a>
  
    <li><a href="../LoadError.html">LoadError</a>
  
    <li><a href="../LoadError.html">LoadError</a>
  
    <li><a href="../Logger.html">Logger</a>
  
    <li><a href="../Logger/SimpleFormatter.html">Logger::SimpleFormatter</a>
  
    <li><a href="../Array.html">Array</a>
  
    <li><a href="../Base64.html">Base64</a>
  
    <li><a href="../Benchmark.html">Benchmark</a>
  
    <li><a href="../BigDecimal.html">BigDecimal</a>
  
    <li><a href="../Class.html">Class</a>
  
    <li><a href="../Date.html">Date</a>
  
    <li><a href="../DateTime.html">DateTime</a>
  
    <li><a href="../Enumerable.html">Enumerable</a>
  
    <li><a href="../FalseClass.html">FalseClass</a>
  
    <li><a href="../File.html">File</a>
  
    <li><a href="../Float.html">Float</a>
  
    <li><a href="../Hash.html">Hash</a>
  
    <li><a href="../Integer.html">Integer</a>
  
    <li><a href="../Kernel.html">Kernel</a>
  
    <li><a href="../Module.html">Module</a>
  
    <li><a href="../NameError.html">NameError</a>
  
    <li><a href="../NilClass.html">NilClass</a>
  
    <li><a href="../Numeric.html">Numeric</a>
  
    <li><a href="../Process.html">Process</a>
  
    <li><a href="../QualifiedConstUtils.html">QualifiedConstUtils</a>
  
    <li><a href="../Rails.html">Rails</a>
  
    <li><a href="../Range.html">Range</a>
  
    <li><a href="../Regexp.html">Regexp</a>
  
    <li><a href="../String.html">String</a>
  
    <li><a href="../Symbol.html">Symbol</a>
  
    <li><a href="../Time.html">Time</a>
  
    <li><a href="../TrueClass.html">TrueClass</a>
  
    <li><a href="../URI.html">URI</a>
  
  </ul>
</nav>

  </div>
</nav>

<div id="documentation">
  <h1 class="class">class ActiveModel::Errors</h1>

  <div id="description" class="description">
    
<h2 id="label-Active+Model+Errors">Active Model <a href="Errors.html">Errors</a></h2>

<p>Provides a modified <code>OrderedHash</code> that you can include in your
object for handling error messages and interacting with Action Pack
helpers.</p>

<p>A minimal implementation could be:</p>

<pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-constant">Person</span>

  <span class="ruby-comment"># Required dependency for ActiveModel::Errors</span>
  <span class="ruby-identifier">extend</span> <span class="ruby-constant">ActiveModel</span><span class="ruby-operator">::</span><span class="ruby-constant">Naming</span>

  <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
    <span class="ruby-ivar">@errors</span> = <span class="ruby-constant">ActiveModel</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
  <span class="ruby-keyword">end</span>

  <span class="ruby-identifier">attr_accessor</span> :<span class="ruby-identifier">name</span>
  <span class="ruby-identifier">attr_reader</span>   :<span class="ruby-identifier">errors</span>

  <span class="ruby-keyword">def</span> <span class="ruby-identifier">validate!</span>
    <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can not be nil&quot;</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-keyword">nil</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-comment"># The following methods are needed to be minimally implemented</span>

  <span class="ruby-keyword">def</span> <span class="ruby-identifier">read_attribute_for_validation</span>(<span class="ruby-identifier">attr</span>)
    <span class="ruby-identifier">send</span>(<span class="ruby-identifier">attr</span>)
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">def</span> <span class="ruby-constant">Person</span>.<span class="ruby-identifier">human_attribute_name</span>(<span class="ruby-identifier">attr</span>, <span class="ruby-identifier">options</span> = {})
    <span class="ruby-identifier">attr</span>
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">def</span> <span class="ruby-constant">Person</span>.<span class="ruby-identifier">lookup_ancestors</span>
    [<span class="ruby-keyword">self</span>]
  <span class="ruby-keyword">end</span>

<span class="ruby-keyword">end</span>
</pre>

<p>The last three methods are required in your object for <a
href="Errors.html">Errors</a> to be able to generate error messages
correctly and also handle multiple languages. Of course, if you extend your
object with <a href="Translation.html">ActiveModel::Translation</a> you
will not need to implement the last two. Likewise, using <a
href="Validations.html">ActiveModel::Validations</a> will handle the
validation related methods for you.</p>

<p>The above allows you to do:</p>

<pre class="ruby"><span class="ruby-identifier">p</span> = <span class="ruby-constant">Person</span>.<span class="ruby-identifier">new</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">validate!</span>             <span class="ruby-comment"># =&gt; [&quot;can not be nil&quot;]</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">full_messages</span>  <span class="ruby-comment"># =&gt; [&quot;name can not be nil&quot;]</span>
<span class="ruby-comment"># etc..</span>
</pre>

  </div><!-- description -->

  
  
  
  <section id="5Buntitled-5D" class="documentation-section">
    

    

    
    <!-- Constants -->
    <section id="constants-list" class="section">
      <h3 class="section-header">Constants</h3>
      <dl>
      
        <dt id="CALLBACKS_OPTIONS">CALLBACKS_OPTIONS
        
        <dd class="description">
        
      
      </dl>
    </section>
    

    
    <!-- Attributes -->
    <section id="attribute-method-details" class="method-section section">
      <h3 class="section-header">Attributes</h3>

      
      <div id="attribute-i-messages" class="method-detail">
        <div class="method-heading attribute-method-heading">
          <span class="method-name">messages</span><span
            class="attribute-access-type">[R]</span>
        </div>

        <div class="method-description">
        
        
        
        </div>
      </div>
      
    </section><!-- attribute-method-details -->
    

    <!-- Methods -->
    
     <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
      <h3 class="section-header">Public Class Methods</h3>

    
      <div id="method-c-new" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">new</span><span
            class="method-args">(base)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Pass in the instance of the object that is using the errors object.</p>

<pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-constant">Person</span>
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>
    <span class="ruby-ivar">@errors</span> = <span class="ruby-constant">ActiveModel</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>)
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
</pre>
          

          
          <div class="method-source-code" id="new-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 76</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">base</span>)
  <span class="ruby-ivar">@base</span>     = <span class="ruby-identifier">base</span>
  <span class="ruby-ivar">@messages</span> = <span class="ruby-constant">ActiveSupport</span><span class="ruby-operator">::</span><span class="ruby-constant">OrderedHash</span>.<span class="ruby-identifier">new</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- new-source -->
          
        </div>

        

        
      </div><!-- new-method -->

    
    </section><!-- public-class-method-details -->
  
     <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
      <h3 class="section-header">Public Instance Methods</h3>

    
      <div id="method-i-5B-5D" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">[]</span><span
            class="method-args">(attribute)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>When passed a symbol or a name of a method, returns an array of errors for
the method.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>[:<span class="ruby-identifier">name</span>]   <span class="ruby-comment"># =&gt; [&quot;can not be nil&quot;]</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>[<span class="ruby-string">'name'</span>]  <span class="ruby-comment"># =&gt; [&quot;can not be nil&quot;]</span>
</pre>
          

          
          <div class="method-source-code" id="5B-5D-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 125</span>
<span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">attribute</span>)
  <span class="ruby-identifier">get</span>(<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">to_sym</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">to_sym</span>, [])
<span class="ruby-keyword">end</span></pre>
          </div><!-- 5B-5D-source -->
          
        </div>

        

        
      </div><!-- 5B-5D-method -->

    
      <div id="method-i-5B-5D-3D" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">[]=</span><span
            class="method-args">(attribute, error)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Adds to the supplied attribute the supplied error message.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>[:<span class="ruby-identifier">name</span>] = <span class="ruby-string">&quot;must be set&quot;</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>[:<span class="ruby-identifier">name</span>] <span class="ruby-comment"># =&gt; ['must be set']</span>
</pre>
          

          
          <div class="method-source-code" id="5B-5D-3D-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 133</span>
<span class="ruby-keyword">def</span> <span class="ruby-operator">[]=</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">error</span>)
  <span class="ruby-keyword">self</span>[<span class="ruby-identifier">attribute</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">error</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- 5B-5D-3D-source -->
          
        </div>

        

        
      </div><!-- 5B-5D-3D-method -->

    
      <div id="method-i-add" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">add</span><span
            class="method-args">(attribute, message = nil, options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Adds <code>message</code> to the error messages on <code>attribute</code>.
More than one error can be added to the same <code>attribute</code>. If no
<code>message</code> is supplied, <code>:invalid</code> is assumed.</p>

<p>If <code>message</code> is a symbol, it will be translated using the
appropriate scope (see <code>translate_error</code>). If
<code>message</code> is a proc, it will be called, allowing for things like
<code>Time.now</code> to be used within an error.</p>
          

          
          <div class="method-source-code" id="add-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 232</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">options</span> = {})
  <span class="ruby-identifier">message</span> = <span class="ruby-identifier">normalize_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span>, <span class="ruby-identifier">options</span>)
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:strict</span>]
    <span class="ruby-identifier">raise</span> <span class="ruby-constant">ActiveModel</span><span class="ruby-operator">::</span><span class="ruby-constant">StrictValidationFailed</span>, <span class="ruby-identifier">full_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span>)
  <span class="ruby-keyword">end</span>

  <span class="ruby-keyword">self</span>[<span class="ruby-identifier">attribute</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">message</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- add-source -->
          
        </div>

        

        
      </div><!-- add-method -->

    
      <div id="method-i-add_on_blank" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">add_on_blank</span><span
            class="method-args">(attributes, options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Will add an error message to each of the attributes in
<code>attributes</code> that is blank (using <a
href="../Object.html#method-i-blank-3F">Object#blank?</a>).</p>
          

          
          <div class="method-source-code" id="add_on_blank-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 251</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_on_blank</span>(<span class="ruby-identifier">attributes</span>, <span class="ruby-identifier">options</span> = {})
  [<span class="ruby-identifier">attributes</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span><span class="ruby-operator">|</span>
    <span class="ruby-identifier">value</span> = <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:read_attribute_for_validation</span>, <span class="ruby-identifier">attribute</span>)
    <span class="ruby-identifier">add</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-value">:blank</span>, <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">blank?</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- add_on_blank-source -->
          
        </div>

        

        
      </div><!-- add_on_blank-method -->

    
      <div id="method-i-add_on_empty" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">add_on_empty</span><span
            class="method-args">(attributes, options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Will add an error message to each of the attributes in
<code>attributes</code> that is empty.</p>
          

          
          <div class="method-source-code" id="add_on_empty-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 242</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_on_empty</span>(<span class="ruby-identifier">attributes</span>, <span class="ruby-identifier">options</span> = {})
  [<span class="ruby-identifier">attributes</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span><span class="ruby-operator">|</span>
    <span class="ruby-identifier">value</span> = <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:read_attribute_for_validation</span>, <span class="ruby-identifier">attribute</span>)
    <span class="ruby-identifier">is_empty</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:empty?</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">:</span> <span class="ruby-keyword">false</span>
    <span class="ruby-identifier">add</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-value">:empty</span>, <span class="ruby-identifier">options</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">is_empty</span>
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- add_on_empty-source -->
          
        </div>

        

        
      </div><!-- add_on_empty-method -->

    
      <div id="method-i-added-3F" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">added?</span><span
            class="method-args">(attribute, message = nil, options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns true if an error on the attribute with the given message is
present, false otherwise. <code>message</code> is treated the same as for
<code>add</code>.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span> :<span class="ruby-identifier">name</span>, :<span class="ruby-identifier">blank</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">added?</span> :<span class="ruby-identifier">name</span>, :<span class="ruby-identifier">blank</span> <span class="ruby-comment"># =&gt; true</span>
</pre>
          

          
          <div class="method-source-code" id="added-3F-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 262</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">added?</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">options</span> = {})
  <span class="ruby-identifier">message</span> = <span class="ruby-identifier">normalize_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span>, <span class="ruby-identifier">options</span>)
  <span class="ruby-keyword">self</span>[<span class="ruby-identifier">attribute</span>].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">message</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- added-3F-source -->
          
        </div>

        

        
      </div><!-- added-3F-method -->

    
      <div id="method-i-as_json" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">as_json</span><span
            class="method-args">(options=nil)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns an <a
href="../ActiveSupport/OrderedHash.html">ActiveSupport::OrderedHash</a>
that can be used as the JSON representation for this object.</p>
          

          
          <div class="method-source-code" id="as_json-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 218</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">as_json</span>(<span class="ruby-identifier">options</span>=<span class="ruby-keyword">nil</span>)
  <span class="ruby-identifier">to_hash</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- as_json-source -->
          
        </div>

        

        
      </div><!-- as_json-method -->

    
      <div id="method-i-blank-3F" class="method-detail method-alias">
        
        <div class="method-heading">
          <span class="method-name">blank?</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
        </div>

        

        
        <div class="aliases">
          Alias for: <a href="Errors.html#method-i-empty-3F">empty?</a>
        </div>
        
      </div><!-- blank-3F-method -->

    
      <div id="method-i-clear" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">clear</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Clear the messages</p>
          

          
          <div class="method-source-code" id="clear-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 95</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">clear</span>
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">clear</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- clear-source -->
          
        </div>

        

        
      </div><!-- clear-method -->

    
      <div id="method-i-count" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">count</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns the number of error messages.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can't be blank&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">count</span> <span class="ruby-comment"># =&gt; 1</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;must be specified&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">count</span> <span class="ruby-comment"># =&gt; 2</span>
</pre>
          

          
          <div class="method-source-code" id="count-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 191</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">count</span>
  <span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">size</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- count-source -->
          
        </div>

        

        
      </div><!-- count-method -->

    
      <div id="method-i-delete" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">delete</span><span
            class="method-args">(key)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Delete messages for <code>key</code></p>
          

          
          <div class="method-source-code" id="delete-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 116</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">key</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- delete-source -->
          
        </div>

        

        
      </div><!-- delete-method -->

    
      <div id="method-i-each" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">each</span><span
            class="method-args">() { |attribute, error| ... }</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Iterates through each error key, value pair in the error messages hash.
Yields the attribute and the error for that attribute. If the attribute has
more than one error message, yields once for each error message.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can't be blank&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">errors_array</span><span class="ruby-operator">|</span>
  <span class="ruby-comment"># Will yield :name and &quot;can't be blank&quot;</span>
<span class="ruby-keyword">end</span>

<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;must be specified&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">errors_array</span><span class="ruby-operator">|</span>
  <span class="ruby-comment"># Will yield :name and &quot;can't be blank&quot;</span>
  <span class="ruby-comment"># then yield :name and &quot;must be specified&quot;</span>
<span class="ruby-keyword">end</span>
</pre>
          

          
          <div class="method-source-code" id="each-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 151</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">each</span>
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">each_key</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span><span class="ruby-operator">|</span>
    <span class="ruby-keyword">self</span>[<span class="ruby-identifier">attribute</span>].<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">error</span><span class="ruby-operator">|</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">error</span> }
  <span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- each-source -->
          
        </div>

        

        
      </div><!-- each-method -->

    
      <div id="method-i-empty-3F" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">empty?</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns true if no errors are found, false otherwise. If the error message
is a string it can be empty.</p>
          

          
          <div class="method-source-code" id="empty-3F-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 197</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">empty?</span>
  <span class="ruby-identifier">all?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>) }
<span class="ruby-keyword">end</span></pre>
          </div><!-- empty-3F-source -->
          
        </div>

        
        <div class="aliases">
          Also aliased as: <a href="Errors.html#method-i-blank-3F">blank?</a>
        </div>
        

        
      </div><!-- empty-3F-method -->

    
      <div id="method-i-full_message" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">full_message</span><span
            class="method-args">(attribute, message)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns a full message for a given attribute.</p>

<pre class="ruby"><span class="ruby-identifier">company</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">full_message</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;is invalid&quot;</span>)  <span class="ruby-comment"># =&gt;</span>
  <span class="ruby-string">&quot;Name is invalid&quot;</span>
</pre>
          

          
          <div class="method-source-code" id="full_message-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 285</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">full_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span>)
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">message</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">attribute</span> <span class="ruby-operator">==</span> <span class="ruby-value">:base</span>
  <span class="ruby-identifier">attr_name</span> = <span class="ruby-identifier">attribute</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'.'</span>, <span class="ruby-string">'_'</span>).<span class="ruby-identifier">humanize</span>
  <span class="ruby-identifier">attr_name</span> = <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">human_attribute_name</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-value">:default</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">attr_name</span>)
  <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">t</span>(<span class="ruby-value">:&quot;errors.format&quot;</span>, {
    <span class="ruby-value">:default</span>   =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;%{attribute} %{message}&quot;</span>,
    <span class="ruby-value">:attribute</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">attr_name</span>,
    <span class="ruby-value">:message</span>   =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">message</span>
  })
<span class="ruby-keyword">end</span></pre>
          </div><!-- full_message-source -->
          
        </div>

        

        
      </div><!-- full_message-method -->

    
      <div id="method-i-full_messages" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">full_messages</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns all the full error messages in an array.</p>

<pre class="ruby"><span class="ruby-keyword">class</span> <span class="ruby-constant">Company</span>
  <span class="ruby-identifier">validates_presence_of</span> :<span class="ruby-identifier">name</span>, :<span class="ruby-identifier">address</span>, :<span class="ruby-identifier">email</span>
  <span class="ruby-identifier">validates_length_of</span> :<span class="ruby-identifier">name</span>, :<span class="ruby-keyword">in</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">5</span><span class="ruby-operator">..</span><span class="ruby-value">30</span>
<span class="ruby-keyword">end</span>

<span class="ruby-identifier">company</span> = <span class="ruby-constant">Company</span>.<span class="ruby-identifier">create</span>(:<span class="ruby-identifier">address</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">'123 First St.'</span>)
<span class="ruby-identifier">company</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">full_messages</span> <span class="ruby-comment"># =&gt;</span>
  [<span class="ruby-string">&quot;Name is too short (minimum is 5 characters)&quot;</span>, <span class="ruby-string">&quot;Name can't be blank&quot;</span>, <span class="ruby-string">&quot;Email can't be blank&quot;</span>]
</pre>
          

          
          <div class="method-source-code" id="full_messages-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 277</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">full_messages</span>
  <span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span><span class="ruby-operator">|</span> <span class="ruby-identifier">full_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">message</span>) }
<span class="ruby-keyword">end</span></pre>
          </div><!-- full_messages-source -->
          
        </div>

        

        
      </div><!-- full_messages-method -->

    
      <div id="method-i-generate_message" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">generate_message</span><span
            class="method-args">(attribute, type = :invalid, options = {})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Translates an error message in its default scope
(<code>activemodel.errors.messages</code>).</p>

<p>Error messages are first looked up in
<code>models.MODEL.attributes.ATTRIBUTE.MESSAGE</code>, if it’s not there,
it’s looked up in <code>models.MODEL.MESSAGE</code> and if that is not
there also, it returns the translation of the default message (e.g.
<code>activemodel.errors.messages.MESSAGE</code>). The translated model
name, translated attribute name and the value are available for
interpolation.</p>

<p>When using inheritance in your models, it will check all the inherited
models too, but only if the model itself hasn’t been found. Say you have
<code>class Admin &lt; User; end</code> and you wanted the translation for
the <code>:blank</code> error message for the <code>title</code> attribute,
it looks for these translations:</p>
<ul><li>
<p><code>activemodel.errors.models.admin.attributes.title.blank</code></p>
</li><li>
<p><code>activemodel.errors.models.admin.blank</code></p>
</li><li>
<p><code>activemodel.errors.models.user.attributes.title.blank</code></p>
</li><li>
<p><code>activemodel.errors.models.user.blank</code></p>
</li><li>
<p>any default you provided through the <code>options</code> hash (in the
<code>activemodel.errors</code> scope)</p>
</li><li>
<p><code>activemodel.errors.messages.blank</code></p>
</li><li>
<p><code>errors.attributes.title.blank</code></p>
</li><li>
<p><code>errors.messages.blank</code></p>
</li></ul>
          

          
          <div class="method-source-code" id="generate_message-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 320</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">generate_message</span>(<span class="ruby-identifier">attribute</span>, <span class="ruby-identifier">type</span> = <span class="ruby-value">:invalid</span>, <span class="ruby-identifier">options</span> = {})
  <span class="ruby-identifier">type</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:message</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:message</span>].<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)

  <span class="ruby-keyword">if</span> <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:i18n_scope</span>)
    <span class="ruby-identifier">defaults</span> = <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">lookup_ancestors</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">klass</span><span class="ruby-operator">|</span>
      [ <span class="ruby-value">:&quot;#{@base.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.attributes.#{attribute}.#{type}&quot;</span>,
        <span class="ruby-value">:&quot;#{@base.class.i18n_scope}.errors.models.#{klass.model_name.i18n_key}.#{type}&quot;</span> ]
    <span class="ruby-keyword">end</span>
  <span class="ruby-keyword">else</span>
    <span class="ruby-identifier">defaults</span> = []
  <span class="ruby-keyword">end</span>

  <span class="ruby-identifier">defaults</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:message</span>)
  <span class="ruby-identifier">defaults</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">:&quot;#{@base.class.i18n_scope}.errors.messages.#{type}&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:i18n_scope</span>)
  <span class="ruby-identifier">defaults</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">:&quot;errors.attributes.#{attribute}.#{type}&quot;</span>
  <span class="ruby-identifier">defaults</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value">:&quot;errors.messages.#{type}&quot;</span>

  <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">compact!</span>
  <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">flatten!</span>

  <span class="ruby-identifier">key</span> = <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">shift</span>
  <span class="ruby-identifier">value</span> = (<span class="ruby-identifier">attribute</span> <span class="ruby-operator">!=</span> <span class="ruby-value">:base</span> <span class="ruby-operator">?</span> <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:read_attribute_for_validation</span>, <span class="ruby-identifier">attribute</span>) <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>)

  <span class="ruby-identifier">options</span> = {
    <span class="ruby-value">:default</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">defaults</span>,
    <span class="ruby-value">:model</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">model_name</span>.<span class="ruby-identifier">human</span>,
    <span class="ruby-value">:attribute</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@base</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">human_attribute_name</span>(<span class="ruby-identifier">attribute</span>),
    <span class="ruby-value">:value</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">value</span>
  }.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">options</span>)

  <span class="ruby-constant">I18n</span>.<span class="ruby-identifier">translate</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">options</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- generate_message-source -->
          
        </div>

        

        
      </div><!-- generate_message-method -->

    
      <div id="method-i-get" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">get</span><span
            class="method-args">(key)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Get messages for <code>key</code></p>
          

          
          <div class="method-source-code" id="get-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 106</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">key</span>)
  <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">key</span>]
<span class="ruby-keyword">end</span></pre>
          </div><!-- get-source -->
          
        </div>

        

        
      </div><!-- get-method -->

    
      <div id="method-i-has_key-3F" class="method-detail method-alias">
        
        <div class="method-heading">
          <span class="method-name">has_key?</span><span
            class="method-args">(error)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
        </div>

        

        
        <div class="aliases">
          Alias for: <a href="Errors.html#method-i-include-3F">include?</a>
        </div>
        
      </div><!-- has_key-3F-method -->

    
      <div id="method-i-include-3F" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">include?</span><span
            class="method-args">(error)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Do the error messages include an error with key <code>error</code>?</p>
          

          
          <div class="method-source-code" id="include-3F-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 100</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">include?</span>(<span class="ruby-identifier">error</span>)
  (<span class="ruby-identifier">v</span> = <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">error</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">any?</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- include-3F-source -->
          
        </div>

        
        <div class="aliases">
          Also aliased as: <a href="Errors.html#method-i-has_key-3F">has_key?</a>
        </div>
        

        
      </div><!-- include-3F-method -->

    
      <div id="method-i-initialize_dup" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">initialize_dup</span><span
            class="method-args">(other)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
          <div class="method-source-code" id="initialize_dup-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 81</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize_dup</span>(<span class="ruby-identifier">other</span>)
  <span class="ruby-ivar">@messages</span> = <span class="ruby-identifier">other</span>.<span class="ruby-identifier">messages</span>.<span class="ruby-identifier">dup</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- initialize_dup-source -->
          
        </div>

        

        
      </div><!-- initialize_dup-method -->

    
      <div id="method-i-keys" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">keys</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns all message keys</p>
          

          
          <div class="method-source-code" id="keys-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 173</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">keys</span>
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">keys</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- keys-source -->
          
        </div>

        

        
      </div><!-- keys-method -->

    
      <div id="method-i-set" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">set</span><span
            class="method-args">(key, value)</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Set messages for <code>key</code> to <code>value</code></p>
          

          
          <div class="method-source-code" id="set-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 111</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>)
  <span class="ruby-identifier">messages</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- set-source -->
          
        </div>

        

        
      </div><!-- set-method -->

    
      <div id="method-i-size" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">size</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns the number of error messages.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can't be blank&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">size</span> <span class="ruby-comment"># =&gt; 1</span>
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;must be specified&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">size</span> <span class="ruby-comment"># =&gt; 2</span>
</pre>
          

          
          <div class="method-source-code" id="size-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 163</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">size</span>
  <span class="ruby-identifier">values</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">size</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- size-source -->
          
        </div>

        

        
      </div><!-- size-method -->

    
      <div id="method-i-to_a" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_a</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns an array of error messages, with the attribute name included</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can't be blank&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;must be specified&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">to_a</span> <span class="ruby-comment"># =&gt; [&quot;name can't be blank&quot;, &quot;name must be specified&quot;]</span>
</pre>
          

          
          <div class="method-source-code" id="to_a-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 182</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_a</span>
  <span class="ruby-identifier">full_messages</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_a-source -->
          
        </div>

        

        
      </div><!-- to_a-method -->

    
      <div id="method-i-to_hash" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_hash</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          
          

          
          <div class="method-source-code" id="to_hash-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 222</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_hash</span>
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">dup</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_hash-source -->
          
        </div>

        

        
      </div><!-- to_hash-method -->

    
      <div id="method-i-to_xml" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">to_xml</span><span
            class="method-args">(options={})</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns an xml formatted representation of the <a
href="Errors.html">Errors</a> hash.</p>

<pre class="ruby"><span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;can't be blank&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">add</span>(:<span class="ruby-identifier">name</span>, <span class="ruby-string">&quot;must be specified&quot;</span>)
<span class="ruby-identifier">p</span>.<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">to_xml</span>
<span class="ruby-comment"># =&gt;</span>
<span class="ruby-comment">#  &lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;</span>
<span class="ruby-comment">#  &lt;errors&gt;</span>
<span class="ruby-comment">#    &lt;error&gt;name can't be blank&lt;/error&gt;</span>
<span class="ruby-comment">#    &lt;error&gt;name must be specified&lt;/error&gt;</span>
<span class="ruby-comment">#  &lt;/errors&gt;</span>
</pre>
          

          
          <div class="method-source-code" id="to_xml-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 213</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">to_xml</span>(<span class="ruby-identifier">options</span>={})
  <span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">to_xml</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">reverse_merge</span>(<span class="ruby-value">:root</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-string">&quot;errors&quot;</span>, <span class="ruby-value">:skip_types</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">true</span>)
<span class="ruby-keyword">end</span></pre>
          </div><!-- to_xml-source -->
          
        </div>

        

        
      </div><!-- to_xml-method -->

    
      <div id="method-i-values" class="method-detail ">
        
        <div class="method-heading">
          <span class="method-name">values</span><span
            class="method-args">()</span>
          <span class="method-click-advice">click to toggle source</span>
        </div>
        

        <div class="method-description">
          
          <p>Returns all message values</p>
          

          
          <div class="method-source-code" id="values-source">
            <pre><span class="ruby-comment"># File /usr/local/lib/ruby/gems/1.9.1/gems/activemodel-3.2.7/lib/active_model/errors.rb, line 168</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">values</span>
  <span class="ruby-identifier">messages</span>.<span class="ruby-identifier">values</span>
<span class="ruby-keyword">end</span></pre>
          </div><!-- values-source -->
          
        </div>

        

        
      </div><!-- values-method -->

    
    </section><!-- public-instance-method-details -->
  
  </section><!-- 5Buntitled-5D -->

</div><!-- documentation -->


<footer id="validator-badges">
  <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
  <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
  <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
</footer>

